/*
 * Copyright 2018 Zhongan.com All right reserved. This software is the
 * confidential and proprietary information of Zhongan.com ("Confidential
 * Information"). You shall not disclose such Confidential Information and shall
 * use it only in accordance with the terms of the license agreement you entered
 * into with Zhongan.com.
 */

package com.zhongan.cloud.gateway.filter.previous;

import java.io.Serializable;
import java.util.Date;

import lombok.Data;
import lombok.ToString;

/**
 * This class corresponds to the database table common_gw_rout_config
 * <p>
 * Database Table Remarks: 通用网关路由配置表
 *
 * @author tongyufu
 * @since 2018年7月4日 下午4:30:33
 */
@Data
@ToString
public class CommonGwRoutConfig implements Serializable {

    /**
     * Database Column Name: id
     * <p>
     * Database Column Remarks: 主键id
     */
    private Long              id;

    /**
     * This field was generated by MyBatis Generator. This field corresponds to
     * the database table tac_gw_00.common_gw_rout_config
     */
    private static final long serialVersionUID = 1L;

    /**
     * Database Column Name: common_gw_rout_config.service_name
     * <p>
     * Database Column Remarks: 服务名称
     */
    private String            serviceName;

    /**
     * Database Column Name: common_gw_rout_config.service_version
     * <p>
     * Database Column Remarks: 服务的版本(默认: NULL, 特殊要求自己设置)
     */
    private String            serviceVersion;

    /**
     * Database Column Name: common_gw_rout_config.url_route
     * <p>
     * Database Column Remarks: 请求网关URL规则路由(internet: 外网和内网都能访问此接口, intranet:
     * 只有内网能访问此接口, api: 需要使用"gateway/api"进行访问)
     *
     * @see com.zhongan.common.gw.biz.constants.UrlRouteEnum
     */
    private String            urlRoute;

    /**
     * Database Column Name: common_gw_rout_config.service_desc
     * <p>
     * Database Column Remarks: 服务描述
     */
    private String            serviceDesc;

    /**
     * Database Column Name: common_gw_rout_config.service_owner
     * <p>
     * Database Column Remarks: 服务开发者(责任人)
     */
    private String            serviceOwner;

    /**
     * Database Column Name: common_gw_rout_config.forward_protocol
     * <p>
     * Database Column Remarks: 转发协议(HSF, DUBBO, HTTP/1.1, HTTP/2)
     */
    private String            forwardProtocol;

    /**
     * Database Column Name: common_gw_rout_config.app_name
     * <p>
     * Database Column Remarks: 业务系统的名称(统计用), 即将本次请求转发给哪个应用
     */
    private String            appName;

    /**
     * Database Column Name: common_gw_rout_config.app_url
     * <p>
     * Database Column Remarks: 业务系统的地址(RPC服务不需要配置)
     */
    private String            appUrl;

    /**
     * Database Column Name: common_gw_rout_config.app_request_head
     * <p>
     * Database Column Remarks: 请求业务系统的header: NULL(将会使用客户端请求网关的header),
     * 其它类型使用JSON数组设置(如: [{"Content-Type" : "application/json;charset=UTF-8"}])
     */
    private String            appRequestHead;

    /**
     * Database Column Name: common_gw_rout_config.app_response_class
     * <p>
     * Database Column Remarks: 转发请求给业务系统返回的java数据类型: NULL(不设置,
     * 使用java.lang.String), 其它类型自己按需设置(如: byte[], 8大基本类型的可以省略包名字), 用于支持图片流等
     */
    private String            appResponseClass;

    /**
     * Database Column Name: common_gw_rout_config.interface_name
     * <p>
     * Database Column Remarks: 接口的名称(RPC服务需要配置)
     */
    private String            interfaceName;

    /**
     * Database Column Name: common_gw_rout_config.interface_method
     * <p>
     * Database Column Remarks: 接口的方法(RPC服务需要配置)
     */
    private String            interfaceMethod;

    /**
     * Database Column Name: common_gw_rout_config.interface_version
     * <p>
     * Database Column Remarks: 接口的版本(RPC服务需要配置)
     */
    private String            interfaceVersion;

    /**
     * Database Column Name: common_gw_rout_config.response_head
     * <p>
     * Database Column Remarks: 网关返回给客户端的header: NULL(将会使用业务系统返回的header),
     * 其它类型使用JSON数组设置(如: [{"Content-Type" : "application/json;charset=UTF-8"}])
     */
    private String            responseHead;

    /**
     * Database Column Name: common_gw_rout_config.status
     * <p>
     * Database Column Remarks: 接口状态（1: 启用; 2: 禁用）
     */
    private Integer           status;

    /**
     * Database Column Name: common_gw_rout_config.print_forward_log
     * <p>
     * Database Column Remarks: 打印转发请求的日志
     */
    private String            printForwardLog;

    /**
     * Database Column Name: is_deleted
     * <p>
     * Database Column Remarks: 是否删除
     */
    private String            isDeleted;

    /**
     * Database Column Name: creator
     * <p>
     * Database Column Remarks: 创建者
     */
    private String            creator;

    /**
     * Database Column Name: modifier
     * <p>
     * Database Column Remarks: 修改者
     */
    private String            modifier;

    /**
     * Database Column Name: gmt_created
     * <p>
     * Database Column Remarks: 创建时间
     */
    private Date              gmtCreated;

    /**
     * Database Column Name: gmt_modified
     * <p>
     * Database Column Remarks: 修改时间
     */
    private Date              gmtModified;

}
